#pragma once
#include <vector>
#include <string>
using std::vector;
using std::wstring;

class FioriMenuNode
{
public:
	FioriMenuNode(const wstring& id, const wstring& name, const wstring& icon);
	~FioriMenuNode(void);
	/*
	 * gets the tree nodes
	 */
	vector<FioriMenuNode>& getNodes();
	/*
	 * returns the JSON formatted string represents the current menu data
	 */
	wstring toString() const;
	/*
	 * gets the menu id
	 */
	const wstring& getMenuId() const;
	/*
	 * gets the menu display name
	 */
	const wstring& getDisplayName() const;
	/*
	 * gets the menu catalog icon
	 */
	const wstring& getCatalogIcon() const;

private:
	vector<FioriMenuNode> m_nodes;
	// biz data
	wstring m_menuId;
	wstring m_displayName;
	wstring m_catalogIcon;

};

